﻿Imports Capa_de_Negocio
Public Class CuentaContableDAO

    Public Shared Function obtenerMisHijos(ByVal CuentaContableId As Integer) As DataTable
        Dim cn As SqlClient.SqlConnection = Nothing
        Try
            cn = Conexion.Conectar
            Dim ds As New DataSet
            Dim da As New SqlClient.SqlDataAdapter("SELECT h.CuentaContableId, h.CuentaContableCodigo, h.CuentaContableNombre, h.CuentaContableRecibeAsiento, h.CuentaContablePadreId FROM CuentaContable h, CuentaContable p WHERE h.CuentaContableId = p.CuentaContableId AND h.CuentaContablePadreId = @CuentaContableId", cn)
            da.SelectCommand.Parameters.AddWithValue("@CuentaContableId", CuentaContableId).DbType = DbType.Int32
            da.Fill(ds, "Hijos")
            Return ds.Tables("Hijos")
        Catch ex As Exception
            'GUARDAMOS EL ERROR EN LA BD
            ErrorDAO.insertarError(ex)
            Return Nothing
        Finally
            Conexion.Desconectar(cn) 'PASAR POR PARAMETRO LA CONEXION
        End Try
    End Function

    Public Shared Function obtenerCuentasContables() As DataTable
        Dim cn As SqlClient.SqlConnection = Nothing
        Try
            cn = Conexion.Conectar
            Dim ds As New DataSet
            Dim da As New SqlClient.SqlDataAdapter("SELECT h.CuentaContableId, h.CuentaContableCodigo, h.CuentaContableNombre, h.CuentaContableRecibeAsiento, h.CuentaContablePadreId FROM CuentaContable h", cn)
            da.Fill(ds, "Cuentas")
            Return ds.Tables("Cuentas")
        Catch ex As Exception
            'GUARDAMOS EL ERROR EN LA BD
            ErrorDAO.insertarError(ex)
            Return Nothing
        Finally
            Conexion.Desconectar(cn) 'PASAR POR PARAMETRO LA CONEXION
        End Try
    End Function

    Public Shared Function obtenerCuentaContable(ByVal CuentaContableNombre As String) As CuentaContable
        Dim c As New CuentaContable()

        Dim cn As SqlClient.SqlConnection = Nothing
        Try
            cn = Conexion.Conectar
            Dim cmd As New SqlClient.SqlCommand("SELECT * FROM CuentaContable  WHERE CuentaContableNombre = '" & CStr(CuentaContableNombre) & "'", cn)
            Dim dr As SqlClient.SqlDataReader = cmd.ExecuteReader
            dr.Read()
            c.p_CuentaContableId = dr.GetInt32(0)
            c.p_CuentaContableCodigo = dr.GetInt32(1)
            c.p_CuentaContableNombre = dr.GetString(2)
            If dr.GetInt32(3) = 1 Then
                c.p_CuentaContableRecibeAsiento = True
            Else
                c.p_CuentaContableRecibeAsiento = False
            End If
            c.p_CuentaContablePadreId = dr.GetInt32(4)
            Return c
        Catch ex As Exception
            'GUARDAMOS EL ERROR EN LA BD
            ErrorDAO.insertarError(ex)
            Return Nothing
        Finally
            Conexion.Desconectar(cn) 'PASAR POR PARAMETRO LA CONEXION
        End Try
    End Function




End Class
